package S17;

public class IntegerToRoman {
	public String intToRoman(int num) {
		StringBuffer stb = new StringBuffer();
		String thousand[] = {"", "M", "MM", "MMM"};
		String hundred[]  = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
 		String ten[]	  = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
		String single[]	  = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
 		
		int first = 0;
		//ǧλ
		first = num / 1000;
		num   = num % 1000;
		stb.append(thousand[first]);
		
		first = num / 100;
		num   = num % 100;
		stb.append(hundred[first]);
		
		first = num / 10;
		num   = num % 10;
		stb.append(ten[first]);
		
		stb.append(single[num]);
		
        return stb.toString();
    }

//	string intToRoman(int num) {
//        int values[]={1000,900,500,400,100,90,50,40,10,9,5,4,1};
//        string reps[]={"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};
//        
//        string res;
//        for(int i=0; i<13; i++){
//            while(num>=values[i]){
//                num -= values[i];
//                res += reps[i];
//            }
//        }
//        return res;
//    }
	
	public static void main(String[] args) {
		IntegerToRoman test = new IntegerToRoman();
		System.out.println(test.intToRoman(1994));
	}
}
